package com.cip.client.modelo.entidad;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.cip.client.modelo.BaseRecord;

/**
 * @author Angel
 * 
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class VisitaRecord extends BaseRecord implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2094828504332540429L;

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value = "true")
	private String id;

	@Persistent
	private Date fechaHora;

	@Persistent
	private String resultado;

	@Persistent
	private Date proximaVisita;


	@Persistent
	private List<ObservacionesVisitaRecord> observaciones = new ArrayList<ObservacionesVisitaRecord>();

	@Persistent
	private List<ProductoOfertadoRecord> productosOfertados = new ArrayList<ProductoOfertadoRecord>();

	@Persistent
	private List<ProductoDemandadoRecord> productosDemandados = new ArrayList<ProductoDemandadoRecord>();

	public VisitaRecord() {

	}

	@Override
	public void copia(BaseRecord record) {
		setFechaHora(((VisitaRecord) record).getFechaHora());
		setResultado(((VisitaRecord) record).getResultado());
		setProximaVisita(((VisitaRecord) record).getProximaVisita());
		setObservaciones(((VisitaRecord) record).getObservaciones());
		setProductosOfertados(((VisitaRecord) record).getProductosOfertados());
		setProductosDemandados(((VisitaRecord) record).getProductosDemandados());
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getResultado() {
		return resultado;
	}

	public void setResultado(String resultado) {
		this.resultado = resultado;
	}

	public void setFechaHora(Date fechaHora) {
		this.fechaHora = fechaHora;
	}

	public Date getFechaHora() {
		return fechaHora;
	}

	public void setProximaVisita(Date proximaVisita) {
		this.proximaVisita = proximaVisita;
	}

	public Date getProximaVisita() {
		return proximaVisita;
	}

	public void setObservaciones(List<ObservacionesVisitaRecord> observaciones) {
		this.observaciones = observaciones;
	}

	public List<ObservacionesVisitaRecord> getObservaciones() {
		return observaciones;
	}

	public void setProductosOfertados(List<ProductoOfertadoRecord> productosOfertados) {
		this.productosOfertados = productosOfertados;
	}

	public List<ProductoOfertadoRecord> getProductosOfertados() {
		return productosOfertados;
	}

	public void setProductosDemandados(List<ProductoDemandadoRecord> productosDemandados) {
		this.productosDemandados = productosDemandados;
	}

	public List<ProductoDemandadoRecord> getProductosDemandados() {
		return productosDemandados;
	}

	
	

}